<template>
  <div id="app">
    <!-- 顶部导航栏 -->
    <van-nav-bar :fixed="true" :title="$route.meta.title">
      <template #left>
        <van-icon
          name="arrow-left"
          size="20"
          color="#000"
          @click="goBack()"
          v-show="showBack"
        ></van-icon>
      </template>
    </van-nav-bar>
    <router-view style="padding: 46px 0 0 0" />
  </div>
</template>

<script>
export default {
  data() {
    return {
      showBack: false,
      noBackRoutes: ["/home", "/my", "/category", "/shopcart",'/user/login'],
    };
  },
  methods: {
    goBack() {
      // go()方法接受一个整数参数，该参数可正可负，
      // 正数表示向前导航（相当于浏览器点击前进按钮），
      // 负数表示向后导航（相当于浏览器点击后退按钮）。
      this.$router.go(-1);
    },
  },
  watch: {
    "$route.path"(newVal) {
      // includes()是JavaScript中的一个数组方法，用于判断数组中是否包含指定的元素，如果包含返回 true，否则返回 false。
      this.showBack = !this.noBackRoutes.includes(newVal);
    },
  },
  mounted() {
    this.showBack = !this.noBackRoutes.includes(this.$route.path);
  },
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

nav {
  padding: 30px;
}

nav a {
  font-weight: bold;
  color: #2c3e50;
}

nav a.router-link-exact-active {
  color: #42b983;
}

.icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>
